package com.ruoyi.equ.service;

import com.ruoyi.equ.domain.EquBasic;

import java.util.List;
import java.util.Map;

/**
 * 设备基本台账Service接口
 * 
 * @author lgq
 * @date 2023-10-07
 */
public interface IEquBasicService 
{
    /**
     * 查询设备基本台账
     * 
     * @param id 设备基本台账主键
     * @return 设备基本台账
     */
    public EquBasic selectEquBasicById(String id);

    /**
     * 查询设备状态
     */
    List<Map<String, Object>> selectEquBasicCount();

    /**
     * 批量查询设备信息
     */
    public List<EquBasic> selectEquBasicByIds(String[] ids);


    /**
     * 根据标签批量查询设备信息
     */
    public List<EquBasic> selectEquBasicByLabels(String label);


    /**
     * 查询设备基本信息
     *
     * @param equNum 设备基本信息ID
     * @return 设备基本信息
     */
    public EquBasic selectEquBasicByNum(String equNum);

    /**
     * 根据设备标识获取设备基本信息
     */
    public EquBasic selectEquBasicByEquNum(String equNum, String state);

    /**
     * 导入设备台账信息
     */
    public String importEqu(List<EquBasic> equBasicList, boolean updateSupport);

    /**
     * 查询设备基本台账列表
     * 
     * @param equBasic 设备基本台账
     * @return 设备基本台账集合
     */
    public List<EquBasic> selectEquBasicList(EquBasic equBasic);

    /**
     * 查询设备信息
     *
     * @param equNums 设备基本信息ID
     * @return 设备基本信息
     */
    public List<EquBasic> selectEquBasicByNums(String[] equNums);

    /**
     * 新增设备基本台账
     * 
     * @param equBasic 设备基本台账
     * @return 结果
     */
    public int insertEquBasic(EquBasic equBasic);

    /**
     * 修改设备基本台账
     * 
     * @param equBasic 设备基本台账
     * @return 结果
     */
    public int updateEquBasic(EquBasic equBasic);

    /**
     * 修改设备状态
     *
     * @param equBasic 设备基本信息
     * @return 结果
     */
    public int updateEquBasicByNum(EquBasic equBasic);


    /**
     * 修改设备证书到期信息
     *
     * @param
     * @return 结果
     */
    public int updateEquInvalidity();

    /**
     * 修改设备状态
     *
     * @param ids 设备编号
     * @return 结果
     */
    public int updateEquBasics(String state, String[] ids);

    /**
     * 根据设备名称更新设备信息
     * @param equBasic
     * @return
     */
    public int updateEquBasicByEquNum(EquBasic equBasic);

    /**
     * 批量删除设备基本台账
     * 
     * @param ids 需要删除的设备基本台账主键集合
     * @return 结果
     */
    public int deleteEquBasicByIds(String[] ids);

    /**
     * 删除设备基本台账信息
     * 
     * @param id 设备基本台账主键
     * @return 结果
     */
    public int deleteEquBasicById(String id);
}
